Gravisto: Graph Visualization Toolkit
نویسندگان
چکیده
Gravisto, the Graph Visualization Toolkit, is more than a (Java-based) editor for graphs. It includes data structures, graph algorithms, several layout algorithms, and a graph viewer component. As a general toolkit for the visualization and automatic layout of graphs it is extensible with plug-ins and is suited for the integration in other Java-based applications. Overview: Gravisto is a new approach towards an extensible graph visualization toolkit. Entirely written in Java, Gravisto runs on all Java2 1.4 platforms, including Linux, Solaris, MacOS X, and Microsoft Windows. Gravisto can be obtained under the terms of the GNU General Public License (GPL) from [2]. Graph Data Structure Adj. List Adj. Matrix Editor Plug-in Manager Default Plug-ins User Plug-ins External Libraries Listener Manager Fig. 1. System architecture. Architecture: Gravisto consists of three layers; see Fig.1. The basic layer contains the graph data structures. The editor layer uses the basic data structures and provides managers for easy extension and customization. The top layer comprises all plug-ins, either delivered with Gravisto or from third-parties. As several components must be notified about changes of the data structure, e. g., a view component in a plug-in, Gravisto employs the Observer Design Pattern: the Event Manager allows a component to register as a special type of event handler, depending on the events it likes to receive. Interfaces: Gravisto provides a powerful plug-in mechanism with a comfortable plug-in manager. Most non-core functionality is realized as plug-in, including algorithms, node and edge attributes, graphical user interface components, input and output serializers, attribute inspectors, node and edge shapes, tools, or entire views. The idea behind this paradigm is to facilitate extensions of Gravisto; thus encouraging people to contribute to the project. Furthermore, this concept allows easy customization of the editor for different application scenarios, e. g., a biologist, working with biochemical pathways, does not need most functionality of the standard graph editor, but, for instance, the nodes and edges must be linked to additional information in a data base; thus all unnecessary plug-ins J. Pach (Ed.): GD 2004, LNCS 3383, pp. 502–503, 2004. c © Springer-Verlag Berlin Heidelberg 2004 Gravisto: Graph Visualization Toolkit 503 Fig. 2. Gravisto’s editing view, its plug-in manager, and the Quoggles interface. can be excluded and a custom plug-in for the data base connection may be added. Of course, the toolkit includes all plug-ins for the basic functionality and many more. Plug-ins for the widely used GML and GraphML file formats allow data exchange with non-Java applications and other graph drawing tools. Queries on Graphs: An innovative feature is Quoggles, [3], a plug-in implementing an extensible, graphical query system for graph properties. The idea for Quoggles arose from the 10 Graph Drawing Contest, 2002, Category C, [1]. The query itself is composed into a graph. The input to the query are the set GE of all nodes and edges of the queried graph. For example, the query “GE → GetGraphElements(nodes) → GetProperty(degree) → Arithmetic(avg)” calculates the average degree of all nodes in the graph. The query shown in Fig. 2 sorts the nodes according to their degree.
منابع مشابه
Making GUIs Narcissistic: Toolkit for Managing Space and Occlusion by Visual Introspection
Effective use of screen space and reduction of occlusion are important for usability. We present a toolkit to help a GUI manage space and occlusion by visual introspection. Rather than relying on a GUI’s internal model, our toolkit inspects a GUI’s visual appearance at the screen pixel level and computes maps to describe the GUI’s space and occlusion distribution. Moreover, we compare a GUI’s e...
متن کاملA Toolkit to Support Dynamic Social Network Visualization
In this paper we introduce the design, implementation and evaluation of the Dynamic Visualization Toolkit (DyVT) to support complex dynamic social network visualization. Dynamic aspects of social networks such as spatiotemporal as well as personalized information can be visualized in a common toolkit. To that end, an XML-based target language DyVTML is an extension of existing schemata enabling...
متن کاملAn Open Framework for Reverse Engineering Graph Data Visualization
Reverse engineering (briefly RE) provides a conceptual framework for describing the process of software understanding and concept abstraction. Most RE software tools for use some form of visual representation and manipulation of the RE data. In most cases, such data consists of an attributed, multi-level, directed graph [4]. The nodes of this graph describe software artifacts at different abstr...
متن کاملDataViewer: A Scene Graph Based Visualization Library
This article outlines the capabilities of a scientific visualization toolkit called DataViewer, and compares it to analogous software. DataViewer was originally designed for the construction of the visualization part of certain computational steering packages, and consequently it is particularly straightforward to closely couple DataViewer with numerical calculations. Rendering is performed thr...
متن کاملOn labeling in graph visualization q
When visualizing graphs, it is essential to communicate the meaning of each graph object via text or graphical labels. Automatic placement of labels in a graph is an NP-Hard problem, for which efficient heuristic solutions have been recently developed. In this paper, we describe a general framework for modeling, drawing, editing, and automatic placement of labels respecting user constraints. In...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004